Skip to content

Conversation

@ytimocin
Copy link
Contributor

@ytimocin ytimocin commented Jan 21, 2026

Description

Please explain the changes you've made.

Type of change

  • This pull request fixes a bug in Radius and has an approved issue (issue link required).
  • This pull request adds or changes features of Radius and has an approved issue (issue link required).
  • This pull request is a minor refactor, code cleanup, test improvement, or other maintenance task and doesn't change the functionality of Radius (issue link optional).

Fixes: #issue_number

Contributor checklist

Please verify that the PR meets the following requirements, where applicable:

  • An overview of proposed schema changes is included in a linked GitHub issue.
    • Yes
    • Not applicable
  • A design document PR is created in the design-notes repository, if new APIs are being introduced.
    • Yes
    • Not applicable
  • The design document has been reviewed and approved by Radius maintainers/approvers.
    • Yes
    • Not applicable
  • A PR for the samples repository is created, if existing samples are affected by the changes in this PR.
    • Yes
    • Not applicable
  • A PR for the documentation repository is created, if the changes in this PR affect the documentation or any user facing updates are made.
    • Yes
    • Not applicable
  • A PR for the recipes repository is created, if existing recipes are affected by the changes in this PR.
    • Yes
    • Not applicable

@ytimocin ytimocin requested review from a team as code owners January 21, 2026 20:30
@ytimocin ytimocin marked this pull request as draft January 21, 2026 20:30
@ytimocin ytimocin requested a review from Copilot January 21, 2026 20:37
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds new rad terraform CLI commands to manage Terraform installation within Radius. The feature allows users to install, uninstall, and check the status of Terraform, which is used for executing Terraform recipes.

Changes:

  • Introduces three new subcommands under rad terraform: install, uninstall, and status
  • Implements a shared HTTP client for communicating with the Terraform installer API
  • Adds comprehensive test coverage including unit tests and validation tests

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pkg/cli/cmd/terraform/terraform.go Parent command definition for rad terraform
pkg/cli/cmd/terraform/install/install.go Install command with support for version/URL, wait, TLS options
pkg/cli/cmd/terraform/install/install_test.go Comprehensive tests for install command including validation and integration scenarios
pkg/cli/cmd/terraform/uninstall/uninstall.go Uninstall command with wait support and status tracking
pkg/cli/cmd/terraform/uninstall/uninstall_test.go Tests for uninstall command covering various scenarios
pkg/cli/cmd/terraform/status/status.go Status command to display current Terraform installation info
pkg/cli/cmd/terraform/status/status_test.go Tests for status command
pkg/cli/cmd/terraform/status/objectformats.go Table formatting for status output
pkg/cli/cmd/terraform/status/objectformats_test.go Tests for output formatting
pkg/cli/cmd/terraform/common/client.go Shared HTTP client for installer API interactions
cmd/rad/cmd/root.go Registration of new terraform commands in CLI

@ytimocin ytimocin marked this pull request as ready for review January 22, 2026 18:11
deadline := time.Now().Add(r.Timeout)
pollInterval := r.PollInterval

for {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The success check requires both the version state to be "succeeded" AND CurrentVersion == r.Version. This could cause the loop to continue indefinitely if the version succeeds but isn't set as current. We should return an error in this case unless server side has guarantees that install will never succeed without changing current.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checking

@ytimocin ytimocin force-pushed the ytimocin/terraform-bicep-settings/terraform-cli branch from 0d57464 to 42f3802 Compare January 23, 2026 00:27
@ytimocin ytimocin force-pushed the ytimocin/terraform-bicep-settings/terraform-controller branch 2 times, most recently from d752abe to 44ad765 Compare January 23, 2026 00:34
@ytimocin ytimocin requested a review from a team as a code owner January 23, 2026 00:34
@ytimocin ytimocin force-pushed the ytimocin/terraform-bicep-settings/terraform-cli branch from 42f3802 to ecfe23d Compare January 23, 2026 00:37
@ytimocin ytimocin force-pushed the ytimocin/terraform-bicep-settings/terraform-controller branch 4 times, most recently from 47b62db to b41ae3d Compare January 24, 2026 05:13
Base automatically changed from ytimocin/terraform-bicep-settings/terraform-controller to features/terraform-bicep-settings January 24, 2026 05:29
@ytimocin ytimocin force-pushed the ytimocin/terraform-bicep-settings/terraform-cli branch from ecfe23d to f2b10c9 Compare January 24, 2026 06:03
@ytimocin ytimocin temporarily deployed to functional-tests January 24, 2026 06:03 — with GitHub Actions Inactive
Signed-off-by: ytimocin <ytimocin@microsoft.com>
@ytimocin ytimocin force-pushed the ytimocin/terraform-bicep-settings/terraform-cli branch from f2b10c9 to 2d39529 Compare January 25, 2026 00:44
@ytimocin ytimocin temporarily deployed to functional-tests January 25, 2026 00:44 — with GitHub Actions Inactive
@radius-functional-tests
Copy link

radius-functional-tests bot commented Jan 25, 2026

Radius functional test overview

🔍 Go to test action run

Click here to see the test run details
Name Value
Repository radius-project/radius
Commit ref 2d39529
Unique ID func06b68b54d1
Image tag pr-func06b68b54d1
  • gotestsum 1.13.0
  • KinD: v0.29.0
  • Dapr: 1.14.4
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.3.0
  • Bicep recipe location ghcr.io/radius-project/dev/test/testrecipes/test-bicep-recipes/<name>:pr-func06b68b54d1
  • Terraform recipe location http://tf-module-server.radius-test-tf-module-server.svc.cluster.local/<name>.zip (in cluster)
  • applications-rp test image location: ghcr.io/radius-project/dev/applications-rp:pr-func06b68b54d1
  • dynamic-rp test image location: ghcr.io/radius-project/dev/dynamic-rp:pr-func06b68b54d1
  • controller test image location: ghcr.io/radius-project/dev/controller:pr-func06b68b54d1
  • ucp test image location: ghcr.io/radius-project/dev/ucpd:pr-func06b68b54d1
  • deployment-engine test image location: ghcr.io/radius-project/deployment-engine:latest

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting corerp-cloud functional tests...
⌛ Starting ucp-cloud functional tests...
✅ ucp-cloud functional tests succeeded
✅ corerp-cloud functional tests succeeded

@ytimocin ytimocin requested a review from sylvainsf January 25, 2026 23:10
Copy link
Contributor

@sylvainsf sylvainsf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the update, looks good.

@ytimocin ytimocin merged commit 5994f72 into features/terraform-bicep-settings Jan 26, 2026
29 checks passed
@ytimocin ytimocin deleted the ytimocin/terraform-bicep-settings/terraform-cli branch January 26, 2026 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants